Computer controlled article classification and processing system

ABSTRACT

A system for processing and classifying articles that classifies a set of articles based at least upon the locations of the articles within a structure. The system provides a notification over a computer network to a user, wherein the notification informs the user that the user has a time period within which to select a first article from the set of classified articles to add to a pre-existing order by the user, wherein the time period is based at least in part on the anticipated time to transfer at least one article in the set of articles to a different location within the structure.

PRIORITY CLAIM

This is a divisional of U.S. patent application Ser. No. 13/242,033(filed 23 Sep. 2011), which is a divisional of U.S. patent applicationSer. No. 10/748,745 (filed 30 Dec. 2003), now U.S. Pat. No. 8,055,508.The entire disclosure the priority application is hereby incorporated byreference herein in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to article classification, and inparticular, to methods and systems for classifying articles based onselected article characteristics and for processing the articles basedon selected article characteristics.

2. Description of the Related Art

At least in part due to the failure of appropriately classifyingarticles or items in a warehouse or fulfillment center, manyconventional warehouse and order fulfillment centers are inefficient interms of article processing. For example, articles are often notsufficiently classified to determine what articles can be efficientlypacked and shipped together. As a result, rather than pack and shipproducts that may be desired by users in relatively fewer packages andshipments, many current order fulfillment systems inefficiently splitorders into several shipments. Alternatively, for those orders intendedto be delivered in several shipments, oftentimes order fulfillmentsystems fail to optimize the grouping of products in each shipment.

Even if orders are efficiently packed for shipping, most orderfulfillment systems fail to allow a user to efficiently add items to ashipment at a time subsequent to when the order is placed. Users areoften not aware of the deadline for adding articles to an order untilafter the deadline has passed, or, if the users are aware of thedeadline, the users are often not apprised of the risk that adding tothe order may adversely affect shipping time and cost. It thereforewould be desirable to notify users when articles could be added to anorder and shipped in a manner that would not impact the shipping time orcost.

SUMMARY OF THE INVENTION

The present invention relates to methods and systems for classifyingarticles based on selected article characteristics. An order processingsystem notifies a user who ordered a product when the ordered product isabout to ship and allows the user to add items that the system hasclassified as being eligible based on selected article characteristics.By appropriately classifying articles by article characteristics,embodiments of the present invention ensure the efficient ordering,packing, transportation and/or delivery of subsequently-ordered items.Embodiments of the present invention facilitate the shipment of multipleproducts together, thereby reducing overall consumption of packingmaterials and the amount of energy consumed in transporting products.

One embodiment is a method of processing orders and shipments. A systemreceives over a network a user order for a first article during a firstorder session. The first article order is assigned to a fulfillmentcenter. Additional articles are identified as being eligible to be addedto the first order if ordered by the user before a first occurrence,wherein the identification of the additional articles is based at leastin part on an estimated time to transfer the additional articles to afirst location. After the first order session has been completed, theuser is notified that if the user orders one or more of the eligiblearticles before a first time, the ordered eligible article will bedelivered with the first article and without delaying delivery of thefirst article, wherein the first time is related to the firstoccurrence. An order for at least one of the eligible articles isreceived from the user. A determination is made as to whether the orderfor the at least one eligible article is received before the firstoccurrence. By way of example the first occurrence can be one of apacking process, and a charge process. By way of further example, thefirst time can be less than five minutes after notifying the user. Thefirst time optionally includes at least the time to transfer at least afirst of the eligible articles from a storage area to the firstlocation. By way of further example, the first time can be less thanfour hours after notifying the user. The user can optionally be notifiedthat an order for at least one eligible article was not accepted inresponse to determining that the order for the at least one eligiblearticle was received after the first time. Optionally, the user isoffered an incentive to order one or more eligible articles, theincentive including one or more of a discount on at least one article, adiscount on shipping costs, and a free article. Optionally, thenotification, or at least a portion thereof, is provided to the user atleast partly in response to determining that a terminal associated withthe user is online. Further, the notification, or at least a portionthereof, is provided to the user via a toolbar displayed on a userterminal.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A-1C illustrate an example networked article categorization andfulfillment center.

FIG. 2 illustrates an example warehouse.

FIG. 3 illustrates an example order process.

FIG. 4 illustrates an example article classification process.

FIG. 5 illustrates an example database structure and entries.

FIGS. 6A, 6B illustrate example tool bars used to provide a notificationto a user.

FIG. 7 illustrates an example interface that that enables a user to addan item to an existing order.

FIG. 8 illustrates an example offer expiration notice

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Throughout the following description, the term “Web site” is used torefer to a user-accessible server site that implements the basic WorldWide Web standards for the coding and transmission of hypertextualdocuments. These standards currently include HTML (the Hypertext MarkupLanguage) and HTTP (the Hypertext Transfer Protocol). It should beunderstood that the term “site” is not intended to imply a singlegeographic location, as a Web or other network site can, for example,include multiple geographically distributed computer systems that areappropriately linked together. Furthermore, while the followingdescription relates to an embodiment utilizing the Internet and relatedprotocols, other networks, such as networked interactive televisions,and other protocols may be used as well. For example, HDML (HandheldDevice Markup Language), WAP (Wireless Application Protocol), WML(wireless markup language), or the like can be used with cell phones,personal digital assistants (PDAs), and the like.

In addition, unless otherwise indicated, the functions described hereinare preferably performed by programs including executable code orinstructions running on one or more general-purpose computers that canform part of corresponding computer systems or subsystems. The computerscan include one or more central processing units for executing programcode, volatile memory, such as RAM for temporarily storing data and datastructures during program execution, non-volatile memory, such as a harddisc drive or optical drive, for storing programs and data, includingdatabases, and a network interface for accessing an intranet and/or theInternet. However, the present invention can also be implemented usingspecial purpose computers, state machines, and/or hardwired electroniccircuits. The example processes described herein do not necessarily haveto be performed in the described sequence, and not all states have to bereached or performed.

Further, while the following description may refer to “clicking on” alink or button, or pressing a key in order to provide a command or makea selection, the commands or selections can also be made using otherinput techniques, such as using voice input, pen input, mousing orhovering over an input area, and/or the like. In addition, the termsarticle, item and product may be used interchangeably.

The present invention relates to article classification, and inparticular, to methods and systems for classifying articles based onselected article characteristics. For example, the articlecharacteristics can include the physical location of an article in afulfillment center, and/or the distance of an article from apredetermined location. As will be described in greater detail below, insome embodiments a networked inventory control and order processingsystem enables the efficient delivery of articles based in part onarticle characteristics. Advantageously, an example order processingsystem notifies a user who has a pending product or article order whenthe ordered product is about to ship and allows the user to add items tothe order for a limited time. Thus, embodiments of the present inventionfurther facilitate the shipment of multiple products or articlestogether, thereby reducing overall consumption of packing materials andthe amount of energy consumed in transporting products.

As described in greater detail below, in one embodiment, orderedarticles shipped from a fulfillment center go through various statesduring the fulfillment process. An example fulfillment process isperformed as follows. An order for an article is received from a user byan order processing system. The user is presented with a record of thetotal amount of the order, including any shipping costs. The order maybe provided via a client computer communicating with a Web site duringan Internet session. During the session, a connection is maintainedwhile the client and server are communicating back and forth or for agiven duration. The session can end when either or both the client andserver terminate it.

The order processing system then assigns the order to an appropriatefulfillment center. The article is physically retrieved from its storagelocation. The article is then sorted as needed, boxed, and shipped. Thesort process can be used when there are multiple items that are to bepacked together. The multiple items can be retrieved at different timesby different personnel, and are sorted into specific corresponding binsor locations from which they will be retrieved and subsequently packedtogether for shipment. The user is typically charged or billed when theproducts are shipped. In one embodiment, the user can add an item, froma selected set of items, to the order up until the time that it isboxed, charged or billed.

In particular, at time N before the order is charged, billed,packed/boxed and/or shipped, a notification event takes place, whereinthe user is notified that the time in which the user can change or addto the order will expire in time M (where M<=N). The user will then havetime M to add selected articles to the order. The selected items can bepresented to the user in a variety of forms, for example, thenotification can include a list or a link to a list of products orarticles that the user can add to the order without affecting theshipping time and/or cost. In one embodiment, time M is set to expirebefore the user is charged for the original order. Thus, for a givenorder that is about to be shipped, only one charge process needs to takeplace for both the original article(s) in the order and any addedarticle.

In one embodiment, time N is any time between the time the order wasplaced and the time that the order is, or is predicted to be, charged,billed, or about to be packed or boxed for shipping. However, time N canbe referenced to other events as well. For example, N can optionally bethe period between when an article in a pending order is removed fromits storage area in a warehouse and when the article is delivered to apacking area. Preferably, time N is selected to be close enough to thetime of shipment to instill in the customer a sense of imminent ordershipment. For example, time N can be set to 45 minutes, 2 hours, 8hours, or 1 day before the predicted shipping or packing date and timeof the previously ordered article.

As discussed above, time M is less than or equal to N. In practice M isset so that the user has a sense of urgency and limited time to modifyor add to the user's order. For example, time M can be set to 10minutes, 1 hours, 4 hours, or 12 hours before the expiration of time N.The time M can also be longer than one day.

The notification is generated by the order processing system andtransmitted to the user via one or more communication channels. Thenotification can be pushed to the user, that is, the user does not needto take proactive action to retrieve the notification. In addition, orinstead, the notification can be pulled by the user, wherein the useractively checks or requests the status of the user's order, or visits alocation, such as a website page, where the notification is displayed.

By way of example, and not limitation, the notification channels caninclude a message presented on a merchant, vendor, or affiliate'swebsite. The user can be identified at the website by the user loggingin, or via information stored in a file or cookie located on the user'sterminal or computer system. In addition or alternatively, thenotification can be provided via a client application residing orexecuting on the user's terminal, which can be, by way of example, apersonal computer, PDA, Blackberry-type device, cell phone, or otherdevice that allows for message reception.

By way of example, the notification message can be delivered via abrowser plug-in, such as a toolbar or sidebar or Java or other scriptapplication, or to a browser otherwise equipped to receive such messagenotification. In addition or alternatively, the notification message canbe delivered via an instant messaging client (such as AIM (America OnLine Instant Messenger) or MSN (Microsoft Network) messenger or IRC(Internet Relay-Chat). Further, the message notification can bedelivered via e-mail, or via SMS or other cell phone based messagingsystem. Still further, the message notification can be delivered via apaging mechanism to devices equipped to receive text or numeric pages,and/or via e-mail to any device or devices equipped to receive e-mail.In addition, or alternatively, the message notification can be deliveredvia a live or automated voice to a phone or other device equipped toreceive voice messages.

Once the user receives the notification the user can elect to respond byadding one or more articles to the user order within the time M. Theuser can make a selection from a list or grouping of articles providedby the order processing system. As will be described below, the list orgrouping of articles can be generated based at least in part on whetherthe added article will keep the original shipment time of the originalarticle, whether the physical proximity of the added article issufficiently close to the location of the originally ordered article,and/or other criteria. The response and selection can be made using oneor more communication medium including, for example, those used toprovide the notification message. Thus, for example, the response can bemade via the web, such as via the merchant, vendor, or affiliate'swebsite, via a special purpose application, via a web browser plug-in,via a toolbar, via an instant message, via SMS, via voice or a key presson a cell phone or similar device, via e-mail, and/or the like.

As described above, the list or group of articles presented to the userare selected by the processing system. The list or group of articles arechosen by the processing system or operator so that they have thecharacteristic that adding one or more of the articles to the order willnot change the shipping time and/or shipping charge to the user. At theoperator's discretion, even if the actual shipping costs increase as aresult of added articles, the operator can decide to bear the additionalcosts so that the shipping cost to the user remains unchanged. This maybe done in order to promote additional sales, to specifically promotesales of high margin items, or to promote a new store, by way ofexample. In addition the list or group of articles may be chosen by theprocessing system or operator using various business logic. Thus, forexample, the list or group of articles can be generated based oncross-sell criteria, the net or gross profit margins, whether a givenarticle is a clearance or on sale article. The list or group of articlescan also be limited by the communication medium and/or user terminalused to transmit or receive the notification message or user response.For example, the list may be relatively large or extremely large if thenotification or response is being communicated via a website. The listmay be relatively small or very small if the notification or response isbeing communicated via SMS to a cell phone or other SMS terminal havinga generally small display.

The user can optionally be offered incentives to add an article to theorder during or before time M. The incentives can include specialoffers, discounts (e.g., a percent or dollar off), reduced or freeshipping, free additional articles, credits towards future purchases,and/or other types of incentives or offers.

In the discussion that follows, embodiments of the order processingsystem are described in conjunction with a variety of illustrativeexamples.

FIG. 1A depicts an example of hardware and software components that areinvoked or used in one embodiment during the above-described processes,including a web site server 100A, a task management/articleclassification system 102A, a warehouse control system 104A, and userterminals 106A, 108A, 110A. The system elements are connected togetherfor communication purposes via a network 112A.

The foregoing components can be used to place, process, and fulfillorders. In this example, the user terminals are a desktop computer 106A,a laptop computer 108A, and a personal digital assistant 110A. Asdepicted by this drawing, users access the web site served via server100A using respective terminals 106A-110A, or other networked terminals.The user terminals 106A-110A may run commercially-available Web browserapplications such as Microsoft Internet Explorer®, which implement thebasic World Wide Web standards such as HTTP and HTML. However, otherinterfaces can be used as well. The terminals 106A-110A may also run acommercially available e-mail application, such as Microsoft Outlook® orOutlook Express®, which may be used to communicate information with thesite server 100A. The e-mail applications and the browsers may beintegrated with one another, and/or may be integrated with otherapplication programs or the operating system.

A warehouse control system 104A, located in or accessible from awarehouse, is used to track the warehouse inventory and location ofarticles. The articles can include items such as books, DVDs,electronics, cooking equipment, clothing, and/or the like. The web siteserver 100A, task management and article classification system 102A,warehouse control system 104A, and user terminals 106A-110A arenetworked together via network 112A, which include one or more networks,such as the Internet and/or an intranet. In another embodiment, thefunctionality of the server 100A, task management and articleclassification system 102A, and the warehouse control system 104A areoptionally combined into a single system.

In the example embodiment described herein, the web site server 100Aincludes a computer system and associated content that are accessiblevia the network 112A. The web site server 100A may serve one or morewebsites that include content spanning multiple Internet domains, and/ormay be implemented using physical servers that are geographically remotefrom one another. The server 100A can include an HTML database used togenerate Web pages in response to the actions of end users. In otherembodiments, the served web site may be in the form of an intranet site,in which case the terminals 106A-110A may be coupled to the site by aprivate network. In one embodiment, one or more of the terminals106A-110A are coupled to the web site server 100A via a VPN (virtualprivate network). By way of example the web site may be in the form ofan online store generally accessible by those with access to theInternet.

As depicted in FIG. 1B, the task management and article classificationsystem 102A includes a task management server 108B. The server 108B isused to control the overall order and order fulfillment process flow andhandles interactions with users and order fulfillment centers, includingwarehouses. The server 108B is also coupled to an order database 106Bwhich keeps track of user orders, the identity of the warehouse or orderfulfillment center that will be used to ship the articles in the orders,and the expected shipping date of each order. The server 108B is furthercoupled to an article database 104B that stores product or articlerelated information, including for example, the cost of the article, thesize and weight of the article (for shipping and handling purposes), thenumber of the article in inventory, and the location and accessibilityof the article inventory. The database 104B can further includeinformation related to purchase incentives that can be offered to usersif they add corresponding articles to an existing order. Various otherback-end components (not shown) are also used for this purpose.

The task management and article classification system 102A also includesan article classification module 102B which includes the basicfunctionality for suggesting articles to the user that the user may wantto add to an existing order prior to the packing and shipment of theexisting order. The article classification module 102B accesses thearticle database 104B that includes information indicating howaccessible articles are in a warehouse, how easily and/or quickly anarticle can be retrieved for shipping, and which articles are related orare typically used or operated together (such as an electronic articleand batteries for the same, or a camera and a camera case for the same).The article database 104B may further include such information asarticle profit margins, articles that the seller wants to dispose ofquickly, the operability of a given article with other articles, thequantity of articles in inventory, the article shelf life, and the like.The article classification module 102B provides suggestions or optionsto the user as to what additional articles can be added to an existingorder without adversely affecting the shipment date and/or withoutincreasing the shipping cost of the order.

The article classification module 102B can further incorporate orutilize collaborative filtering in recommending items to be added to theorder. For example, collaborative filtering identifies a set of user'swhose purchased items and/or rated items that overlap one or more otherusers' purchased and rated items. The collaborative filter aggregatesinformation related to these items from these similar users, andeliminates all or selected items that the user has already purchasedand/or rated. The remaining items may be included in the set of itemsrecommended or suggested to the user by the article classificationmodule 102B if the items can be added to the existing order withoutadversely affecting the shipment date and/or without increasing theshipping cost of the order. In addition, the article classificationmodule 102B can further refine the set of recommended or suggested itemsbased on other criteria, such as whether the item is overstocked, has alimited shelf life, and/or on the user profile. The user profile caninclude user preferences, purchase history information, the items on theuser's wish list, the user's browsing history, and/or categorypreferences. Thus, the suggested set of items can be personalized for agiven user.

FIG. 1C illustrates the warehouse control system 104A in greater detail.The example warehouse control system 104A includes a warehouse taskmanagement server 108C coupled to an inventory control module 102C, andto an article inventory and location database 104C. The warehouse taskmanagement server 108B interacts with the web site server 100A and thetask management and article classification system 102A, and controls theprocessing of incoming inventory and outgoing inventory to thefulfillment center. The inventory module 102C keeps track of thequantity, location and accessibility of articles in the fulfillmentcenter, and stores such information in the database 104C. Theinformation stored in the database 104C optionally can be the same as, asubset of, or partially overlap with the information stored in articledatabase 104B illustrated in FIG. 1B.

The layout of a fulfillment center typically includes a storage area orareas, a packing area, and a loading area. The storage area can includeshelving systems or other storage units and may be partitioned into along-term (and less accessible) storage area and a short-term (and moreeasily accessible) storage area. The packing area is used to load one ormore articles into a box or other packing container, and the loadingarea is used to transfer packed or boxed articles to trucks, trains, orthe like for shipment to the user. The article or articles stored in theshort-term storage area may include those articles that are predictedbased on past experience, surveys, or otherwise, to be more likely to beincluded in a typical user's order. These articles may be placed near tothe packing and loading areas in order to facilitate their rapididentification and addition to an order. The articles in short-termstorage may also be placed in relatively more accessible locations thatdo not require a forklift or other specialized equipment to access.

An example of a type of article that would be located in the short termstorage area is batteries. Batteries are often added to orders forelectronic devices, and may be a common type of article that a userwould be interested in adding to an existing order if they had failed toremember to do so when placing the order. Another example of a type ofarticle that would be located in the short term storage area is abest-selling novel that is frequently purchased by customers. Becausearticles in short-term storage are closer to the packing and loadingareas, and are otherwise relatively more accessible, they can quickly beadded to an order shipment. Thus, the time M that the user can beallowed to add articles in short-term storage to an order about to shipcan be relatively long as compared to the time that a user can beallowed to add articles that are located further away or are lessaccessible.

FIG. 2 illustrates the layout of a portion of an example warehouse orfulfillment center, including inventory 202 and the warehouse controlsystem 104A discussed above. In this example, the inventory 202 isstored in rows and columns, separated by walkways via which people ormoving equipment, such as forklifts or conveyors, can move to place orretrieve articles from the inventory 202. In other embodiments, thelayout can include just rows or just columns, and/or the layout can bedistributed spoke-like relative to a center or off-center point. Thewarehouse or fulfillment center further includes a packing area andloading dock 204. In other embodiments, the packing area can be aseparate area at a distance from the loading dock. In addition, thewarehouse can include one or more buildings or other structures.

As illustrated, some of the inventory 202, such as inventory in row 1,column 1, is significantly closer to the packing area and loading dock204 as compared to other inventory, such as inventory located in row 6,column 1. In addition, some inventory sits on top of or in front ofother inventory. Thus, to access certain inventory, the use of inventorymoving equipment, such as a forklift, may be needed. The time it takesto access and deliver an article out of inventory 202 to the packingarea and loading dock 204 can be based, at least in part, on thedistance from the packing area and loading dock 204 and on whether otherinventory 202 has to be moved in order to access the article.

FIG. 3 illustrates an exemplary sequence of acts that are performed bythe web site server 100A, the task management and article classificationsystem 102A, and the warehouse control system 104A. At state 302 anorder for an article is received by the web site server 100A from a useror customer during a first networked order session on a web site. Atstate 304 the order (or a portion thereof) is assigned to a fulfillmentcenter, which can include a warehouse such as that illustrated in FIG.2. At state 306, a determination is made as to whether it is within timeN before the order is charged, billed, packed, and/or shipped. If not,the process waits until it is within time N. If it is within time N theprocess proceeds to state 307. Time N, for example, can be one or moredays removed from the time the order was received. At state 307 adetermination is made by the task management and article classificationsystem 102A and/or the warehouse control system 104A as to which articleor articles are eligible to be added to an order or a portion thereof.Eligible articles include articles that can be added to the orderwithout affecting the shipping date and/or shipping costs billed to theuser. Thus, for example, eligible articles might include those that arecurrently in short-term inventory in the same fulfillment center as thearticle in the pending order.

At state 308 a notification is sent to the user regarding the eligiblearticles and the time M the user has to order one or more of theeligible articles. As previously discussed, the notification may take anumber of different forms. The user can be provided with thenotification in a form such as e-mail where the user will receive themessage even if the user is not accessing the site operated by webserver 100A. Optionally, the notification may only be conveyed in afashion that depends upon a determination that the user is currentlyavailable to view or receive the notification, such as, for example,when the user is currently viewing the website served by web server100A, or is using a toolbar or accessing another website that thewebsite operator is able to monitor. In this latter form, thenotification can be a graphic element on the page, such as flashingtoolbar icon. The notification can be spaced apart in time from theplacement of the existing order. For example, the notification can beprovided several hours after the placement of the existing order, or oneor more days after the placement of the existing order.

When the user responds to the notification by, for example, clicking onan embedded URL link in the e-mail or clicking on the toolbar icon, aURL is accessed via a browser and the user is presented with a web pageincluding a list of eligible articles generated at state 307 (such asthe web page depicted in FIG. 7, and described below). In addition, theuser can be presented with one or more incentives to order one or moreeligible articles. For example, the user can be offered discounts,reduced or free shipping, free additional articles, credits towardsfuture purchases, and/or other types of incentives or offers.

At state 310, a determination is made as to whether, in response to thenotification and as part of a second order session, one or moreadditional articles were added to the order within time M. If yes, theprocess proceeds to state 312 and the article or articles are added tothe order. If no, the process proceeds directly to state 314. At state314, workers or automated conveyor mechanisms process all or a portionof the order, including packing and shipping the order. The shippedpackage includes at least one article from the original order and addedarticles, if any. At state 316, the user is charged for the order,including any articles that were added to the order.

FIG. 4 illustrates state 307 in greater detail. The process is performedby the task management and article classification system 102A, thewarehouse control system 104A, or the two systems operating inconjunction with each other. At state 402, articles are classified asbeing potentially eligible articles, that is, articles that arepotentially eligible to be selected by a user to add to the user'salready pending order. A number of techniques may be used, either aloneor in combination, to select the set of potentially eligible articles.For example, collaborative filtering techniques may be used to determinewhat articles the user might want to order. As is well known in the art,collaborative filtering is used to produce personal suggestions orrecommendations by examining the similarity between a given user'spreferences or order history and that of other people. The potentiallyeligible articles can also be selected based on a relationship to one ofthe articles already ordered. For example, if the user ordered a digitalcamera, the set of potentially eligible articles can include batteriesfor the camera, a camera case, and/or a memory card. The potentiallyeligible articles can also be selected based on a variety of otherfactors. These other factors can include, for example, whether there arearticles or products that manufacturers want to particularly promote,whether the articles are in stock, whether the articles are located inthe immediate vicinity of the packing area and/or loading area, thearticle price, the amount of a given article in inventory, the size ofthe article, the weight of the article, the length of time the articlehas been in inventory, and so on.

At state 404 article inventory information for one of the set ofpotentially eligible articles is retrieved from a database, such asarticle database 104B and/or article inventory and location database104C. FIG. 5 illustrates an example database entry for two articles,article 125691 and article 347812. The database entry includes fieldscorresponding to article characteristics. As illustrated, the databaseentry includes fields for an article identifier, article dimensions, alocation identifier that indicates the row and column of the article,the estimated transfer time it would take to move the article from itsstorage location to the packing area, the article level, indicatingwhich level in a stack of inventory the article is located, theestimated time it would take to retrieve the article from the stack, andthe total estimated time to retrieve the article and transfer thearticle to the packing area. Additionally, the database entry mayinclude the weight of the item (not shown). While in this example thelocation is provided in row/column format, in addition or alternativelyan alphanumeric location identifier can be used, such as A54312, whichwould correspond to a physical location. Similarly, rather than havelength, width, and height dimensions in the dimensions field, a totalvolume dimension can be used, or an alphanumeric identifier thatcorresponds to a given size, dimension or volume. For example A1 can beused to refer to an article, in its manufacturer packaging, that has avolume in the range of 150 to 180 cubic inches. The estimated times canbe based on averages of actual transfer times, or can be based at leastin part on estimated walking time or driving time to traverse thedistance from a storage location to the packing area or loading dock.Rather than being precalculated and stored in the database, theestimated times may also be calculated on the fly based on the locationof the item and the known warehouse layout.

Returning to FIG. 4, at state 406 the total estimated time to retrievethe article and transfer the article to the packing area is read fromthe database 104B or 104C. At state 408 the total estimated time iscompared to time M. If the total estimated time is less than or equal totime M then the article is classified as an eligible article, that is,an article that the user can add to the order without affecting ashipping time and/or shipping cost. In addition, a determination isoptionally made as to whether an article can be efficiently packagedwith the current order. Packaging efficiency may take into account thevolume of the product and/or the weight of the product. For example, ifthe current order is for a vacuum cleaner, it may not be efficient topackage the vacuum cleaner with an article having certain dimensions,such as a bicycle. Moreover, if the articles in the current order weighin aggregate less than a pound, it may not be efficient to add anadditional article that weighs five pounds to the order.

If the total estimated time is less than or equal to time M, andoptionally if the article can be efficiently packed or boxed with theexisting order, then at state 410 the article is classified as aneligible article. At state 412 a determination is made as whether thereare additional articles in the potential eligible article set that havenot yet been evaluated. If yes, the process proceeds to state 414, andthe classification process is performed on the next article. Once thearticles in the set have been analyzed the process illustrated in FIG. 4ends at state 416.

FIG. 6A illustrates an example toolbar 600A that can be used to providea notification message to a user that the user's order will ship shortlyand that the user can add one or more articles to the order andshipment. In the example toolbar, a truck icon 602A is used to providethe notification. In one embodiment, the truck icon 602A only appears tooffer the user an opportunity to add another product to an existingorder as discussed above. If no offer exists, the truck icon is absentfrom the toolbar. In another embodiment, the truck icon 602 isconstantly displayed on the toolbar, but flashes or changes color, suchas to green, when the user is being provided the option to add to theorder without incurring a shipping penalty. In one embodiment, the usercan click on the icon to access a remote site that will display a Webpage listing the articles the user can add to the order withoutincurring a shipping penalty. FIG. 7 illustrates one such Web page,which is discussed in greater detail below. The toolbar can optionallybe continuously displayed via the user browser and/or other applicationeven when the user is not viewing a website associated with the toolbarprovider, such as an online retailer.

The toolbar 600A can be displayed upon startup of the computer, upon theuser logging in, upon a user selection, upon launching an Internetbrowser, or upon another trigger. The functions of the toolbar canoptionally be integrated into the toolbar on the user's browser. Whilethe icon to notify the user may be displayed anytime there is anopportunity to add to an existing order, preferably the icon isdisplayed on the toolbar only when it is known that the user that placedthe original order is using the browser. In order to identify when theuser is present to the order processing system, the toolbar can beassociated with a client application residing and executing on the userterminal or computer. The client application can periodically transmitan identifier over the Internet to the order processing systemindicating that the client application is online. The order processingsystem deduces from the presence information that it is likely that theuser is viewing the user's terminal display and/or the toolbar. If theorder processing system ceases to receive the identificationinformation, the system infers that the user is offline. Presencedetection can also be performed by the order processing system pollingor pinging the client application executing on the user terminal. Byfirst detecting whether the user is currently online before sending anotification, the system can better ensure that the notification isviewed and acted upon by the user. Requiring the user to be present alsohelps ensure that the notification is not inadvertently presented toanother party (not the user associated with the original order) that isusing the user's terminal.

FIG. 6B illustrates another example toolbar 600B, wherein an orderincentive 604B is displayed in association with an offer notificationicon 602B. In this example, the order incentive 604B is free shipping.Other incentives, such as discounts on items, can be displayed as well.When the user clicks on the notification icon 602B or the orderincentive 604B, the order screen illustrated in FIG. 7 is transmitted bythe web site server 100A to the user browser for display.

FIG. 7 is a representative article order screen depicting one example ofan interface that would allow a user to add an item to an existingorder. The interface can be displayed via the user browser during anetwork session initiated in response to the user clicking on a toolbarnotification icon, such as that illustrated in FIGS. 6A and 6B, byclicking on an emailed link sent to a user email address, where the linkis to a Web page corresponding to the interface, or can be automaticallypresented to the user when the user visits the Web site hosted by theWeb site server 100A. The offers depicted on the article order screencould also be inserted directly into the email that is sent to the user.

As illustrated, the order screen 700 lists one or more items that can beadded to the existing order without adversely affecting the shippingdate of the existing order. In this example, the user is given 30minutes to add the items to the order. In addition, the order screen 700optionally provides the actual time and date, 6:45 PM, July, 2003, inthis example, at which the user's ability to add items to the order willexpire. The order screen 700 lists the price for each item, as well ascorresponding order incentives or special offers, if any. In thisexample, each item is associated with an “add to order” button or link,which, when activated by the user, adds the corresponding item to theuser's existing order. In the illustrated example, headphones areoffered at a 10% discount and with free shipping if added to theexisting order. A compact flash memory card is offered without anincentive. Batteries are offered with a free shipping incentive.

With respect to an emailed offer to add items to an existing order,wherein the emailed offer includes a link to an article order screen,such as that illustrated in FIG. 7, there will be occurrences when theemail becomes stale, wherein the user will not view the email untilafter the offer expiration time has passed. In one embodiment, if theuser clicks on the emailed link after the offer expiration time, anexpiration notice will be transmitted by the Web site server 100A to theuser terminal for display on the user browser. FIG. 8 illustrates anexample expiration notice 800. As illustrated, the notice 800 informsthe user that the offer has expired.

Thus, embodiments of the present invention appropriately classifyarticles to provide for the efficient packing, transportation anddelivery of articles. Advantageously, embodiments of the presentinvention notify a user who ordered a product when the ordered productis about to ship and allow the user to add articles that the system hasclassified as being eligible based on selected article characteristics.Embodiments of the present invention thereby facilitate the shipment ofmultiple products together, reducing the overall consumption of packingmaterials and the amount of energy consumed in transporting products.

Although this invention has been disclosed in the context of certainpreferred embodiments and examples, it will be understood by thoseskilled in the art that the present invention extends beyond thespecifically disclosed embodiments to other alternative embodimentsand/or uses of the invention and obvious modifications and equivalentsthereof. While a number of variations of the invention have been shownand described in detail, other modifications, which are within the scopeof this invention, will be readily apparent to those of skill in the artbased upon this disclosure. It is also contemplated that variouscombinations or subcombinations of the specific features and aspects ofthe embodiments may be made and still fall within the scope of theinvention. Thus, it is intended that the scope of the present inventionherein disclosed should not be limited by the particular disclosedembodiments described above.

What is claimed is:
 1. A warehouse processing system including hardware,comprising: a database containing information on a plurality ofarticles, at least one of the plurality of articles scheduled fordelivery to a user to fulfill an existing order having a shipping date;an identification system that selects at least one article from theplurality of articles, wherein the selection is based at least in partupon a determination from information in the database that the selectedarticle is stored in the warehouse at a location whereby it may be addedto the existing order without delaying the shipping date of the existingorder; a notification system that provides a notification to the user,the notification indicating that there is a first time period withinwhich the user may add the selected article to the existing order,wherein the first time period is based at least in part on the locationof the selected article in the warehouse and an anticipated time tophysically add the selected article to the existing order; and an orderprocessing system that causes the selected article to be physicallyadded to the existing order based on a request by the user, wherein theaddition of the selected article to the existing order does not delaythe shipping date of the existing order.
 2. The system as defined inclaim 1, further comprising a warehouse control system configured toautomatically instruct an entity to transfer the selected article to apacking area at least partly in response to the request by the user. 3.The system as defined in claim 1, wherein the database stores timinginformation related to the time it takes to transfer articles ininventory to a first location.
 4. The system as defined in claim 1,wherein the selected article is selected based at least in part on boththe selected article's operability with at least one article in theexisting order and the determination that the selected article may beadded to the existing order without delaying the shipping date of theexisting order.
 5. The system as defined in claim 1, wherein theselected article is selected based at least in part on both the selectedarticle's profitability and the determination that the selected articlemay be added to the existing order without delaying the shipping date ofthe existing order.
 6. The system as defined in claim 1, wherein theselected article is selected based at least in part on both its locationrelative to a packing area and the determination that the selectedarticle may be added to the existing order without delaying the shippingdate of the existing order.
 7. The system as defined in claim 1, whereinthe selected article is selected based at least in part on both adimension of the selected article and the determination that theselected article may be added to the existing order without delaying theshipping date of the existing order.
 8. The system as defined in claim1, wherein the selected article is selected based at least in part onboth a user profile and the determination that the selected article maybe added to the existing order without delaying the shipping date of theexisting order.
 9. The system as defined in claim 1, wherein thenotification system is configured to offer the user an incentive to addthe selected article within the first time period to the existing order,wherein the incentive comprises at least one of a discount incentive, ashipping incentive, or a credit incentive.
 10. The system as defined inclaim 1, wherein the first time period is selected to expire before theexisting order is scheduled to be packed.
 11. A method, as implementedby a computer system comprising hardware configured to executeinstructions, the method comprising: selecting at least one article froma database, the database comprising information related to a pluralityof articles, based at least in part upon a determination from theinformation in the database indicating that the selected article isstored at a location whereby it may be physically added to an existingorder of a user, the existing order having a shipping date, withoutdelaying the shipping date of the existing order; transmitting anotification to the user, the notification indicating a first timeperiod within which the user may add the selected article to theexisting order, wherein the first time period is based at least in parton the location of the selected article and an anticipated time tophysically add the selected article to the existing order; and causingthe selected article be physically added to the existing order based ona request by the user, wherein the addition of the selected article tothe existing order does not delay the shipping date of the existingorder.
 12. The method as defined in claim 11, the method furthercomprising instructing an entity to transfer the selected article to apacking area at least partly in response to the request by the user. 13.The method as defined in claim 11, wherein the selected article isselected based at least in part on both the selected article'soperability with at least one article in the existing order and thedetermination that the selected article may be added to the existingorder without delaying the shipping date of the existing order.
 14. Themethod as defined in claim 11, wherein the selected article is selectedbased at least in part on both the selected article's profitability andthe determination that the selected article may be added to the existingorder without delaying the shipping date of the existing order.
 15. Themethod as defined in claim 11, wherein the selected article is selectedbased at least in part on both its location relative to a packing areaand the determination that the selected article may be added to theexisting order without delaying the shipping date of the existing order.16. The method as defined in claim 11, wherein the selected article isselected based at least in part on both a dimension of the selectedarticle and the determination that the selected article may be added tothe existing order without delaying the shipping date of the existingorder.
 17. The method as defined in claim 11, wherein the selectedarticle is selected based at least in part on both a user profile andthe determination that the selected article may be added to the existingorder without delaying the shipping date of the existing order.
 18. Themethod as defined in claim 11, the method further comprising offeringthe user a financial incentive to add the selected article within thefirst time period to the existing order.
 19. The method as defined inclaim 11, wherein the first time period is selected to expire before theexisting order is scheduled to be packed.
 20. A non-transitorycomputer-readable storage medium storing computer-executableinstructions that when executed by a processor perform operationscomprising: selecting at least one article from a database, the databasecomprising information related to a plurality of articles, based atleast in part upon a determination from the information in the databaseindicating that the selected article is stored at a location whereby itmay be physically added to an existing order of a user, the existingorder having a shipping date, without delaying the shipping date of theexisting order; transmitting a notification to the user, thenotification indicating a first time period within which the user mayadd the selected article to the existing order, wherein the first timeperiod is based at least in part on the location of the selected articleand an anticipated time to physically add the selected article to theexisting order; and causing the selected article be physically added tothe existing order based on a request by the user, wherein the additionof the selected article to the existing order does not delay theshipping date of the existing order.